home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr52 / clptick.zip / MSASM.ASM next >
Assembly Source File  |  1993-04-07  |  1KB  |  110 lines

  1. ;
  2. ; Program..: msasm.asm
  3. ; Author...: Suzanne Adams, Brenton Farmer
  4. ; Date.....: 10/10/91
  5. ;
  6. ; Purpose..: Assembly routines to replace microsoft runtime routines
  7. ;            _dos_getvect, _dos_setvect, and _enable
  8. ;
  9. .model large,c
  10.  
  11. .code
  12. _getvector proc far interrupt:word
  13.     public    _getvector
  14.  
  15.     push    sp
  16.     push    bp
  17.     push    si
  18.     push    di
  19.     push    ds
  20.     push    es
  21.  
  22.     mov    ax, interrupt
  23.     mov    ah, 35h
  24.     int    21h
  25.  
  26.     mov    dx, es
  27.     mov    ax, bx
  28.  
  29.     pop    es
  30.     pop    ds
  31.     pop    di
  32.     pop    si
  33.     pop    bp
  34.     pop    sp
  35.     ret
  36. _getvector endp
  37.  
  38. _setvector proc far interrupt:word, ISRroutine:far ptr
  39.     public    _getvector
  40.  
  41.     push    sp
  42.     push    bp
  43.     push    si
  44.     push    di
  45.     push    ds
  46.     push    es
  47.  
  48.     mov    ax, interrupt
  49.     mov    ah, 25h
  50.     lds    dx, ISRroutine    ; setup ds and dx
  51.     int    21h
  52.  
  53.     pop    es
  54.     pop    ds
  55.     pop    di
  56.     pop    si
  57.     pop    bp
  58.     pop    sp
  59.     ret
  60. _setvector endp
  61.  
  62.  
  63. _intenable proc far
  64.     public    _intenable
  65.  
  66.     push    sp
  67.     push    bp
  68.     push    si
  69.     push    di
  70.     push    ds
  71.     push    es
  72.  
  73.     sti
  74.  
  75.     pop    es
  76.     pop    ds
  77.     pop    di
  78.     pop    si
  79.     pop    bp
  80.     pop    sp
  81.     ret
  82. _intenable endp
  83.  
  84. _getindosAddress proc far
  85.     public  _getindosAddress
  86.  
  87.     push    sp
  88.     push    bp
  89.     push    si
  90.     push    di
  91.     push    ds
  92.     push    es
  93.  
  94.     mov    ah, 34h
  95.     int    21h
  96.  
  97.     mov    dx, es
  98.     mov    ax, bx
  99.  
  100.     pop    es
  101.     pop    ds
  102.     pop    di
  103.     pop    si
  104.     pop    bp
  105.     pop    sp
  106.     ret
  107. _getindosAddress endp
  108.  
  109. end
  110.